package com.baijiaoxi.common.model.base.service.impl;


import com.baijiaoxi.common.model.base.model.CoreModel;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;

import java.io.Serializable;

/**
 * 基础service,可以通过CoreService<E, I> coreService方式注入访问
 *
 * @param <E> 实体类
 */
public abstract class MultiDBAbstractCoreService<E extends CoreModel> extends AbstractCoreService<E> {

    /**
     * 批量删除
     * 如果重载方法，必须带注解 @DSTransactional
     *
     * @param entity
     */
    @Override
    @DSTransactional
    public void del(E entity) {
        super.del(entity);
    }

    /**
     * 批量删除
     * 如果重载方法，必须带注解 @DSTransactional
     *
     * @param entityId
     */
    @Override
    @DSTransactional
    public void delById(Serializable entityId) {
        super.delById(entityId);
    }


    /**
     * 新增/更新
     * 依据ID是否为null判断
     */
    @Override
    @DSTransactional
    public E autoSave(E entity) {
        return super.autoSave(entity);
    }

}
